
package com.xbongbong.pro.statistic.model;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.IModel;
import com.xbongbong.pro.domain.entity.ChartLimitEntity;

import java.util.List;
import java.util.Map;

/**
 * @ClassName ChartLimitModel
 * @Description 图表限制
 * @Author mengna.Deng
 * @Date 2021/8/23 14:45
 * @Version 1.0
 */
public interface ChartLimitModel extends IModel<ChartLimitEntity> {

	/**
	 * 仅更新del
	 * @param entity
	 * @return
	 * @throws XbbException
	 */
	Integer updateDel(ChartLimitEntity entity) throws XbbException;

	@Override
	List<ChartLimitEntity> findEntitys(Map<String, Object> param);

	/**
	 * 保存
	 * @param entity 实体
	 * @return
	 * @throws
	 *
	 * @author hongxiao
	 * @date: 2019-02-22 15:07
	 * @since v1.0
	 * @version v1.0
	 */
	Integer save(ChartLimitEntity entity) throws XbbException;

    /**
     * 批量插入数据
     *
     * @param entityList 实体列表
     * @author GuoJun.HU
     * @date 2019/2/18 22:07
     * @since V1.0
     */
    void insertBatch(List<ChartLimitEntity> entityList);

    /**
     * 通过主键删除
     *
     * @param key    主键
     * @param corpid 公司id
     * @return Integer
     * @author GuoJun.HU
     * @date 2019/2/18 22:07
     * @since V1.0
     */
    Integer deleteByKey(Long key, String corpid);

    /**
     * 通过主键获取数据
     *
     * @param key    主键
     * @param corpid 公司id
     * @return ChartEntity
     * @author GuoJun.HU
     * @date 2019/2/18 22:08
     * @since V1.0
     */
	ChartLimitEntity getByKey(Long key, String corpid);


    /**
     * 批量更新数据
     * @param chartLimitEntityList
     * @param corpid
     * @return void
     */
    void updateBatch(List<ChartLimitEntity> chartLimitEntityList, String corpid);

	/**
	 * 通过公司corpid
	 *
     * @param type 类型
	 * @param corpid 公司id
	 * @return ChartEntity
	 * @author GuoJun.HU
	 * @date 2019/2/18 22:08
	 * @since V1.0
	 */
	ChartLimitEntity getByType(Integer type, String corpid);

	/**
	 * 通过公司corpid
	 *
	 * @param alias 类型
	 * @param corpid 公司id
	 * @return ChartEntity
	 * @author GuoJun.HU
	 * @date 2019/2/18 22:08
	 * @since V1.0
	 */
	ChartLimitEntity getByAlias(String alias, String corpid);
}

 
